return {
  -- Mason 包管理
  {
    "williamboman/mason.nvim",
    version = "^1.8.0",
    build = ":MasonUpdate",
    config = true,  -- 使用默认配置
    opts = {
      ensure_installed = {
        "pyright",       -- Python LSP
        "clangd",        -- C/C++ LSP
        "clang-format",  -- C/C++ 格式化
        "black",         -- Python 格式化 (可选)
        "debugpy",       -- Python 调试 (可选)
      },
      ui = {
        icons = {
          package_installed = "✓",
          package_pending = "➜",
          package_uninstalled = "✗"
        }
      }
    }
  },

  {
    "williamboman/mason-lspconfig.nvim",
    version = "^1.20.0",
    dependencies = { "williamboman/mason.nvim" },
    opts = {
        automatic_installation = false,
        handlers = nil 
    },
    config = function()
      -- 这里留空，配置在 lsp.lua 中完成
    end
  },

  -- LSP 核心配置
  {
    "neovim/nvim-lspconfig",
    version = "^0.1.7",
    dependencies = {
      "hrsh7th/cmp-nvim-lsp",
      "williamboman/mason-lspconfig.nvim",
    },
    config = function()
      require("plugins.lsp")
    end
  },

  -- Python 增强
  {
    "python-lsp/python-lsp-server",
    ft = "python",
    config = function()
      require("plugins.python")
    end
  },

  -- C/C++ 增强 (扩展功能)
  {
    "p00f/clangd_extensions.nvim",
    ft = { "c", "cpp" },
    config = function()
      require("plugins.c")
    end
  },

  -- 补全引擎
  {
    "hrsh7th/nvim-cmp",
    event = "InsertEnter",
    dependencies = {
      "hrsh7th/cmp-nvim-lsp",
      "hrsh7th/cmp-path",
      "hrsh7th/cmp-buffer",
      "L3MON4D3/LuaSnip",
      "saadparwaiz1/cmp_luasnip",
      "rafamadriz/friendly-snippets"
    },
    config = function()
      require("plugins.cmp")
    end
  },

  -- 文件树
  {
    "nvim-tree/nvim-tree.lua",
    version = "nightly",
    dependencies = {
      "nvim-tree/nvim-web-devicons"
    },
    config = function()
      require("plugins.nvim-tree").setup()
    end,
  },

  -- Buffer 标签页
  {
    "akinsho/bufferline.nvim",
    version = "*",
    dependencies = "nvim-tree/nvim-web-devicons",
    config = function()
      require("plugins.bufferline").setup()
    end
  },

  -- 主题
  {
    "folke/tokyonight.nvim",
    lazy = false,
    priority = 1000,
    config = function()
      require("plugins.colorscheme")
    end
  },

  -- 模糊查找
  {
    "nvim-telescope/telescope.nvim",
    branch = "0.1.x",
    dependencies = {
      "nvim-lua/plenary.nvim",
      "nvim-telescope/telescope-fzf-native.nvim",
      build = "make"
    },
    config = function()
      local telescope = require("plugins.telescope")
      telescope.setup()
      telescope.register_keymaps()
    end
  }
}
